// 定义一个函数fib，参数n为数字，memo为数字数组，默认为空数组
function fib(n: number, memo: number[] = []): number {
  // 如果n小于2，返回n
  if (n < 2) return n;
  // 如果memo[n]存在，返回memo[n]
  if (memo[n]) return memo[n];

  // 否则，将memo[n]赋值为fib(n - 1, memo) + fib(n - 2, memo)
  memo[n] = fib(n - 1, memo) + fib(n - 2, memo);
  // 返回memo[n]
  return memo[n];
}

console.log(fib(10)); // 55

export {};
